[INFO] cloning repository https://github.com/2soba/popr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/2soba/popr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F2soba%2Fpopr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F2soba%2Fpopr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5d3cb6ec969c07705ad919e0325c14ba3c572da0
[INFO] fixing 2soba/popr against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F2soba%2Fpopr" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/2soba/popr
[INFO] finished tweaking git repo https://github.com/2soba/popr
[INFO] tweaked toml for git repo https://github.com/2soba/popr written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/2soba/popr on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/2soba/popr already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: json_path/Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `ijson` dependency)
[INFO] [stderr] warning: `json_path` (manifest) generated 1 warning
[INFO] [stderr] warning: redis_json/Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `ijson` dependency)
[INFO] [stderr] warning: `redis_json` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6
[INFO] running `Command { std: "docker" "start" "d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]        Fixed Cargo.toml (1 fix)
[INFO] [stderr]    Migrating json_path/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating redis_json/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling serde_json v1.0.118
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling prettyplease v0.2.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling cc v1.0.101
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling libloading v0.8.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]    Compiling bindgen v0.66.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking gimli v0.29.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking object v0.36.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling syn v2.0.68
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling backtrace v0.3.73
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling enum-primitive-derive v0.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]     Checking addr2line v0.22.0
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling redis-module-macros-internals v2.0.7
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling linkme-impl v0.3.27
[INFO] [stderr]     Checking linkme v0.3.27
[INFO] [stderr]    Compiling pest v2.7.10
[INFO] [stderr]    Compiling pest_meta v2.7.10
[INFO] [stderr]    Compiling pest_generator v2.7.10
[INFO] [stderr]    Compiling pest_derive v2.7.10
[INFO] [stderr]     Checking serde_bytes v0.11.15
[INFO] [stderr]     Checking uuid v1.9.1
[INFO] [stderr]    Compiling serde_syn v0.1.0
[INFO] [stderr]    Compiling redis-module v2.0.7
[INFO] [stderr]    Compiling redis-module-macros v2.0.7
[INFO] [stderr]     Checking ijson v0.1.3 (https://github.com/RedisJSON/ijson?rev=e0119ac74f6c4ee918718ee122c3948b74ebeba8#e0119ac7)
[INFO] [stderr]     Checking bson v2.11.0
[INFO] [stderr]     Checking json_path v0.1.0 (/opt/rustwide/workdir/json_path)
[INFO] [stderr]    Migrating json_path/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking redis_json v99.99.99 (/opt/rustwide/workdir/redis_json)
[INFO] [stderr]        Fixed json_path/src/lib.rs (2 fixes)
[INFO] [stderr]    Migrating json_path/tests/common.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/tests/jsonpath_examples.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/tests/paths.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/tests/op.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/tests/return_type.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/tests/array_filter.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating json_path/tests/filter.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating redis_json/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed redis_json/src/lib.rs (7 fixes)
[INFO] [stderr]        Fixed redis_json/src/commands.rs (2 fixes)
[INFO] [stderr]        Fixed redis_json/src/ivalue_manager.rs (2 fixes)
[INFO] [stderr]        Fixed redis_json/src/redisjson.rs (1 fix)
[INFO] [stderr]        Fixed redis_json/src/c_api.rs (27 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> redis_json/src/commands.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |     while let Some(s) = args.next() {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^
[INFO] [stdout]     |                    |    |
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `s` calls a custom destructor
[INFO] [stdout]     |                    `s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> redis_json/src/commands.rs:239:25
[INFO] [stdout]     |
[INFO] [stdout] 239 |     while let Some(s) = args.next() {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^
[INFO] [stdout]     |                    |    |
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `s` calls a custom destructor
[INFO] [stdout]     |                    `s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> redis_json/src/commands.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |     while let Ok(key) = args.next_arg() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 323 |         let mut redis_key = manager.open_key_write(ctx, key)?;
[INFO] [stdout]     |             -------------   ---------------------------------
[INFO] [stdout]     |             |               |
[INFO] [stdout]     |             |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `redis_key` calls a custom destructor
[INFO] [stdout]     |             `redis_key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |         let value = manager.from_str(value_str, Format::JSON, true)?;
[INFO] [stdout]     |                     ------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> redis_json/src/c_api.rs:589:21
[INFO] [stdout]     |
[INFO] [stdout] 589 |                       VEC_EXPORT_SHARED_API_NAME.push(CString::new(version.as_str()).unwrap());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: redis_json/src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | / redis_json_module_create! {
[INFO] [stdout] 241 | |     data_types: [REDIS_JSON_TYPE],
[INFO] [stdout] 242 | |     pre_command_function: pre_command,
[INFO] [stdout] 243 | |     get_manage: Some(ivalue_manager::RedisIValueJsonKeyManager{phantom:PhantomData}),
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     info: dummy_info,
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `redis_json_module_export_shared_api` which comes from the expansion of the macro `redis_json_module_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> redis_json/src/commands.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |     while let Some(s) = args.next() {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^
[INFO] [stdout]     |                    |    |
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `s` calls a custom destructor
[INFO] [stdout]     |                    `s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> redis_json/src/commands.rs:239:25
[INFO] [stdout]     |
[INFO] [stdout] 239 |     while let Some(s) = args.next() {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^
[INFO] [stdout]     |                    |    |
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `s` calls a custom destructor
[INFO] [stdout]     |                    `s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.03s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> redis_json/src/commands.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |     while let Ok(key) = args.next_arg() {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 323 |         let mut redis_key = manager.open_key_write(ctx, key)?;
[INFO] [stdout]     |             -------------   ---------------------------------
[INFO] [stdout]     |             |               |
[INFO] [stdout]     |             |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `redis_key` calls a custom destructor
[INFO] [stdout]     |             `redis_key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |         let value = manager.from_str(value_str, Format::JSON, true)?;
[INFO] [stdout]     |                     ------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-module-2.0.7/src/redismodule.rs:262:1
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Drop for RedisString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> redis_json/src/c_api.rs:589:21
[INFO] [stdout]     |
[INFO] [stdout] 589 |                       VEC_EXPORT_SHARED_API_NAME.push(CString::new(version.as_str()).unwrap());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: redis_json/src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | / redis_json_module_create! {
[INFO] [stdout] 241 | |     data_types: [REDIS_JSON_TYPE],
[INFO] [stdout] 242 | |     pre_command_function: pre_command,
[INFO] [stdout] 243 | |     get_manage: Some(ivalue_manager::RedisIValueJsonKeyManager{phantom:PhantomData}),
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     info: dummy_info,
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `redis_json_module_export_shared_api` which comes from the expansion of the macro `redis_json_module_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: json_path v0.1.0 (/opt/rustwide/workdir/json_path) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: redis_json v99.99.99 (/opt/rustwide/workdir/redis_json) updating edition from 2021 to 2024
[INFO] [stderr]     Checking json_path v0.1.0 (/opt/rustwide/workdir/json_path)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> json_path/src/lib.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn compile(s: &str) -> Result<Query, QueryCompilationError> {
[INFO] [stdout]    |                   ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn compile(s: &str) -> Result<Query<'_>, QueryCompilationError> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> json_path/src/json_path.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query, QueryCompilationError> {
[INFO] [stdout]     |                             ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query<'_>, QueryCompilationError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking redis_json v99.99.99 (/opt/rustwide/workdir/redis_json)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> json_path/src/lib.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn compile(s: &str) -> Result<Query, QueryCompilationError> {
[INFO] [stdout]    |                   ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn compile(s: &str) -> Result<Query<'_>, QueryCompilationError> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> json_path/src/json_path.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query, QueryCompilationError> {
[INFO] [stdout]     |                             ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query<'_>, QueryCompilationError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PTrackerElement` is never used
[INFO] [stdout]    --> json_path/src/json_path.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub enum PTrackerElement {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PTracker` is never constructed
[INFO] [stdout]    --> json_path/src/json_path.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub struct PTracker {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PTrackerGenerator` is never constructed
[INFO] [stdout]    --> json_path/src/json_path.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct PTrackerGenerator;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key`, `keys`, `is_empty`, `is_array`, `is_double`, and `get_str` are never used
[INFO] [stdout]   --> json_path/src/select_value.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait SelectValue: Debug + Eq + PartialEq + Default + Clone + Serialize {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] 22 |     fn get_type(&self) -> SelectValueType;
[INFO] [stdout] 23 |     fn contains_key(&self, key: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 24 |     fn values<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a Self> + 'a>>;
[INFO] [stdout] 25 |     fn keys<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a str> + 'a>>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn is_empty(&self) -> Option<bool>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn is_array(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 32 |     fn is_double(&self) -> Option<bool>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 33 |
[INFO] [stdout] 34 |     fn get_str(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> json_path/src/json_path.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query, QueryCompilationError> {
[INFO] [stdout]     |                             ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query<'_>, QueryCompilationError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PTrackerElement` is never used
[INFO] [stdout]    --> json_path/src/json_path.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub enum PTrackerElement {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PTracker` is never constructed
[INFO] [stdout]    --> json_path/src/json_path.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub struct PTracker {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PTrackerGenerator` is never constructed
[INFO] [stdout]    --> json_path/src/json_path.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct PTrackerGenerator;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key`, `keys`, `is_empty`, `is_array`, `is_double`, and `get_str` are never used
[INFO] [stdout]   --> json_path/src/select_value.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait SelectValue: Debug + Eq + PartialEq + Default + Clone + Serialize {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] 22 |     fn get_type(&self) -> SelectValueType;
[INFO] [stdout] 23 |     fn contains_key(&self, key: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 24 |     fn values<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a Self> + 'a>>;
[INFO] [stdout] 25 |     fn keys<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a str> + 'a>>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn is_empty(&self) -> Option<bool>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn is_array(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 32 |     fn is_double(&self) -> Option<bool>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 33 |
[INFO] [stdout] 34 |     fn get_str(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> json_path/src/json_path.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query, QueryCompilationError> {
[INFO] [stdout]     |                             ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) fn compile(path: &str) -> Result<Query<'_>, QueryCompilationError> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> redis_json/src/c_api.rs:589:21
[INFO] [stdout]     |
[INFO] [stdout] 589 |                       VEC_EXPORT_SHARED_API_NAME.push(CString::new(version.as_str()).unwrap());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: redis_json/src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | / redis_json_module_create! {
[INFO] [stdout] 241 | |     data_types: [REDIS_JSON_TYPE],
[INFO] [stdout] 242 | |     pre_command_function: pre_command,
[INFO] [stdout] 243 | |     get_manage: Some(ivalue_manager::RedisIValueJsonKeyManager{phantom:PhantomData}),
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     info: dummy_info,
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `redis_json_module_export_shared_api` which comes from the expansion of the macro `redis_json_module_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> redis_json/src/redisjson.rs:110:34
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new(path: &'a str) -> Path {
[INFO] [stdout]     |                       --         ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new(path: &'a str) -> Path<'a> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `redis_json` (lib) due to 1 previous error; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> redis_json/src/c_api.rs:589:21
[INFO] [stdout]     |
[INFO] [stdout] 589 |                       VEC_EXPORT_SHARED_API_NAME.push(CString::new(version.as_str()).unwrap());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: redis_json/src/lib.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout] 240 | / redis_json_module_create! {
[INFO] [stdout] 241 | |     data_types: [REDIS_JSON_TYPE],
[INFO] [stdout] 242 | |     pre_command_function: pre_command,
[INFO] [stdout] 243 | |     get_manage: Some(ivalue_manager::RedisIValueJsonKeyManager{phantom:PhantomData}),
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |     info: dummy_info,
[INFO] [stdout] 247 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `redis_json_module_export_shared_api` which comes from the expansion of the macro `redis_json_module_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> redis_json/src/redisjson.rs:110:34
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new(path: &'a str) -> Path {
[INFO] [stdout]     |                       --         ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new(path: &'a str) -> Path<'a> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `redis_json` (lib test) due to 1 previous error; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6", kill_on_drop: false }`
[INFO] [stdout] d93f386f4cefc495fde45dd150f6a59f88d3ddc87980b67638e2d562ee4437a6
